Establish a Git Workflow

Git integration lets you manage version control for a model directly from Quest Data Modeler. After you connect a model to a Git repository, you can create and switch branches, commit and push changes, sync with the remote, merge branches, create pull requests, and monitor pipeline validations without leaving the modeling workspace.

Quest Data Modeler supports GitHub, Azure DevOps, GitLab, and Bitbucket. You can authenticate to any of these providers with a personal access token, and the connection and Git operations work the same way for every provider.

Prerequisites

  • Ensure that you have access to a Git repository on a supported provider such as GitHub, Azure DevOps, GitLab, or Bitbucket.

  • Save the model to Quest erwin Mart Portal.

  • Verify that you have permission to create branches and pull requests in the repository.

This topic demonstrates the GitHub connection and configuration process by using the Lead-to-Cash model. The same steps apply to the other supported providers. It outlines a repeatable, team-ready workflow for versioning the model's DDL, covering connection, branching, commits, reviews, merges, and validation gates.

Understand the Git Interface

Select Settings icon to view and use the Git Configuration tab, which contains three tabs: Repositories, Credentials, and Audit Log.

When you open a model, two icons are available:

  • A Git icon in the header bar provides access to Git quick actions through a drop-down menu.

  • A Git icon in the left navigation bar provides access to all Git features. Selecting Git icon opens the Git page. To return to your model, select Modeler icon.

You can stay connected to more than one provider at a time. Each connection is specific to your user. Your stored credentials are retained, so you can switch between connected providers without reentering them.

For more information about the Git Configuration tab, refer to the Configure Git topic.

Authorize and Set Up Git

To authorize and set up Git, follow these steps:

  1. Open the model, and then select Git on the header bar.

    The Git menu opens and displays No Git repository connected, with the available actions dimmed until a repository is connected.

    Git menu showing No Git repository connected and the Set Up Git option

  2. Select Set Up Git or Git icon from the left navigation bar.

    The Git page opens and displays the connection fields.

    Git page with the Connect GitHub option and connection fields

  3. Note: You can also configure Git from the Git Configuration tab in Settings.

  4. From the Provider list, select your provider. For example, GitHub.

    Provider drop-down list

  5. Enter your personal access token, and then select Save token.

    Quest Data Modeler displays a green GitHub connected confirmation.

    Git page showing the green GitHub connected confirmation

  6. Enter the Remote URL of your repository.

  7. Confirm the Default Branch (for example, main), optionally enter a base path, and then select Connect Repository.

    Remote URL entered and the Connect Repository button active

The repository is connected.

If the connection fails, Quest Data Modeler displays a failed status and the full error message, including authorization errors, so you can identify the cause.

Establish a Workflow for Branching and Committing

When the connection is successful, the Repository Details page displays the Ready status, and you can create a working branch for your changes.

Repository Details pane showing READY status

To create a branch, follow these steps:

  1. Do one of the following:

    • Select Modeler icon to return to the Modeler view, and follow these steps:

      1. From Git quick actions, select New Branch.

        Git quick actions menu showing the New Branch option for a connected model

        The New Branch dialog appears.

        New Branch dialog with a branch name entered and the Create and Checkout button

      2. Enter the branch name, and then select Create and Checkout.

    • From the Git main page, select the Branches tab, enter a branch name, and then select Create Branch.

      Branches tab with a branch name entered and the Create Branch button active

      Quest Data Modeler creates and checks out the branch, and the current branch name is updated in the Repository Details pane.

  2. Select Commit from Git quick actions or select Git icon on the left navigation bar to go to the Commit tab.

  3. Review the files under Working Copy Changes, enter a commit message, and then select Commit.

    Commit tab showing working copy changes, commit message field, and recent commits

    The commit is recorded and appears under Recent Commits with its commit hash, message, and author.

  4. To keep your branch aligned with the remote, select the Sync tab and use one of the following options:

    • Fetch: Check for remote updates

    • Pull: Fetch and merge remote changes into the current branch

    • Push: Send your committed changes to the remote repository

    Sync tab showing the Fetch, Pull, and Push options

Review and Merge Changes

  1. To propose your changes for review, select the Pull Requests tab.

    Pull Requests tab showing the Create Pull Request form

  2. Select the Source Branch and Target Branch, enter a title, and then select Create PR.

    The pull request is created and its state, such as open or closed, is displayed in the list below.

    Pull Request tab showing PR list

    The provider's approval and protection rules are checked again before a pull request is merged.

  3. To combine changes from one branch into another, select the Merge tab.

  4. Select a Source Branch and Target Branch, and then select Merge.

    Merge tab with a source branch selected and the Merge button active

Quest Data Modeler merges the changes from the source branch into the target branch. Direct merge is disabled when GitHub marks the target as protected.

View Validation and Monitoring Gates

  1. To review continuous integration status, select the Pipelines tab.

    The CI/CD Pipeline Status pane displays a read-only view of the provider's pipeline runs. Quest Data Modeler does not trigger pipelines; it only displays their status.

    Pipelines tab showing the read-only CI/CD pipeline status

  2. To check the model before deployment, select the Validation tab.

    The Pre-Deployment Validation pane runs naming standards, referential integrity, DDL, database compatibility, and policy checks against the working copy, and lists any findings by severity, category, message, and file.

    Validation tab showing pre-deployment validation results

Async for Large Models

For large models, select the Async tab to run Clone, Fetch, or Push operations in the background with live progress and cooperative cancellation.

Async tab showing the Clone, Fetch, Push, and Cancel operations

Import a Model Version from the Repository

The Import tab lets you bring a specific version of a DDL file from the repository into Quest Data Modeler, so you can recover an earlier state, review what a branch or commit contains, or open a file as a new model. You can import from any branch, tag, or commit, which makes it easy to move a reviewed version into your workspace without leaving the modeling environment.

To bring a committed DDL file into Quest Data Modeler, follow these steps:

  1. From the Git main page, select the Import tab.

    Import tab showing the branch selector and file list

  2. In the Branch or tag field, select a branch or tag to read from, or enter a commit hash.

  3. Select Browse commit.

    Quest Data Modeler reads the selected branch, tag, or commit and lists the available files with their path, model, and size.

    Import tab showing the branch selection, file list, and import options

  4. Select the file to import from the list, and select one of the following:

    • Open the connected model: Merge the file into the current model

    • Create a new model: Use when the file carries no Mart path and its source model cannot be identified.

      1. Enter a model name.

      2. Select a Target database and Version.

      Create a new model

  5. Select Import into QDM.

Quest Data Modeler imports the file and opens the model. If you do not enter a model name, Quest Data Modeler uses the file name as the model name.